Exclude<U, E>
Uが、Eの部分型ならばEを返し、そうでなければneverを返す
いまのところ、両方の引数がunion型であるものしか見たことがないmrsekut.icon
定義
code:ts
type Exclude<U, E> = U extends E ? never : U
両方の引数がunion型の場合、U-Eをやっているイメージになる
union型Tから、union型Uを取り除く
例
code:例.ts
type A = Exclude<'X'|'B'|'C', 'X'>; // 'B'|'C'
type A = Exclude<'X' , 'X'|'B'|'C'> // never
引けない場合はneverになる